#pragma once

#include <string>
#include <vector>
#include "MioMacro.h"

//문자열 라이브러리가 있긴 해야되는데 이것만을 위한 라이브러리를 따로 떼긴 너무 작은거같고...
//파일 읽으면 아스키 파일도 많을테니까 mio에 일단 편입시켰다

namespace mio
{
	namespace str
	{
		//string util을 꼭 만들어야될 필요가 있는가? 그냥 전역함수로 해도 충분하지 않은가?
		std::vector<std::string> split(const std::string &str, const char *delim);
		std::vector<std::string> split(const std::string &str, const std::string &delim);

		std::string trim(const std::string &str);
		std::string leftTrim(const std::string &str);
		std::string rightTrim(const std::string &str);

		const std::string ascii("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
		const std::string lowerAscii("abcdefghijklmnopqrstuvwxyz");
		const std::string upperAscii("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
		const std::string whitespace("\t\n\x0b\x0c\r ");
		const std::string digit("0123456789");
	}

	class StringUtil {
	public:
		std::vector<std::string> split(const std::string &str, const char *delim) const;
		std::string trim(const std::string &str) const;
		std::string leftTrim(const std::string &str) const;
		std::string rightTrim(const std::string &str) const;
	};
}
